#include "mainwindow.h"

#include <QApplication>
/**
 * @brief 简易计算器
 * @date 2022.12.1 -2022.12.4
 * @author 涛
 */
#include <service.h>
#include <ApplicationManager.h>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow* w = new MainWindow;
    ComplexCalculateWindow* w1 = new ComplexCalculateWindow;
    MatrixCalculateWindow* w2 = new MatrixCalculateWindow;
    SetCalculateWindow* w3 = new SetCalculateWindow;
    //保存窗口对象 用于窗口切换
    ApplicationManager applicaionManage;

    applicaionManage.windows[0] = w;
    applicaionManage.windows[1] = w1;
    applicaionManage.windows[2] = w2;
    applicaionManage.windows[3] = w3;
    w->show();
//    w1->show();
//    w2->show();
//    w3->show();
    return a.exec();


//   Service service;
//   double res = 9;
//   QString s = "1+2*3+12";
//   service.expressionCalculate(s, res);
//   printf("%f\n", res);

//    QString s = "1.2324";
//    qDebug()<<Util::strToDouble(s)<<s.toDouble();

//   Complex c1(1, 2), c2(3, -1);
//   qDebug()<<service.add(c1, c2).toString()<<endl;
//   qDebug()<<service.subtract(c1, c2).toString()<<endl;
//   qDebug()<<service.multiply(c1, c2).toString()<<endl;
//   qDebug()<<service.divide(c1, c2).toString()<<endl;


//    int nums1[2][MAX_LEN] = {
//        {1, 3}, {2, 2}
//    };

//    Matrix m1(2, 2, nums1);
//    int nums2[2][MAX_LEN] = {
//        {1, 3}, {2, 2}
//    };
//   Matrix m2(2, 2, nums2);
//   Matrix m = service.mul(m1, m2);
//   qDebug()<<m.toString()<<endl;
//   qDebug()<<service.add(m1, m2).toString()<<endl;
//   qDebug()<<service.sub(m1, m2).toString()<<endl;
//    QString s = " 12 3 4 ";
//    qDebug()<<s.trimmed()<<endl;

//    QSet<QString> set;
//    QSet<QString> set1;
//    set.insert("java");
//    set.insert("c");

//    set1.insert("python");
//    set1.insert("c");

//    qDebug()<<set.intersect(set1)<<endl;

//   return 0;
}
